import request from '@/utils/request'

// 登录
export function login(data) {
  return request({
    url: '/users/login/',
    method: 'post',
    data
  })
}

// 获取用户列表
export function userList(params) {
  return request({
    url: '/users/',
    method: 'get',
    params
  })
}

// 根据id获取用户
export function getUser(id) {
  return request({
    url: `/users/${id}/`,
    method: 'get'
  })
}

// 新增用户
export function addUser(data) {
  return request({
    url: '/users/',
    method: 'post',
    data
  })
}

// 修改用户
export function updateUser(id, data) {
  return request({
    url: `/users/${id}/`,
    method: 'put',
    data
  })
}

// 删除用户
export function delUser(id) {
  return request({
    url: `/users/${id}/`,
    method: 'delete'
  })
}

// 重置用户密码
export function resetUser(id) {
  return request({
    url: `/users/reset/${id}/`,
    method: 'get'
  })
}

// 导出用户
export function exportUser(params) {
  return request({
    url: '/users/export/',
    method: 'post',
    params,
    responseType: 'blob'
  })
}

// 导入用户
export function uploadUser(data) {
  const formData = new FormData()
  formData.append('file', data) // data 是从文件上传事件中获取的文件对象
  return request({
    url: '/users/upload/',
    method: 'post',
    headers: {
      'Content-Type': 'multipart/form-data'
    },
    data: formData,
    transformRequest: [(data) => data] // 禁用默认的序列化行为
  })
}

